package com.igelato.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * @TableName: coupon_batch
 * @Description: 优惠券批次
 * @Author: wht
 * @Date: 2024-01-27
 */
@Data
    @Accessors(chain = true)
@TableName(value = "coupon_batch")
public class CouponBatch implements Serializable{
                @TableId(value = "id", type = IdType.AUTO)
                private Integer id;
        private String coupon_name;
        @ApiModelProperty("本批次要发放的优惠券总数量，如果值为null则表示无上限")
        private Integer total_count;
        @ApiModelProperty("已领取的优惠券数量")
        private Integer received_count;
        @ApiModelProperty("已使用的优惠券数量")
        private Integer used_count;
        @ApiModelProperty("1：满减；2：打折（打折没有门槛）；3：送东西；")
        private Byte coupon_type;
        @ApiModelProperty("0：所有商品都可用；1：除特价商品外都可用；")
        private Byte limit_goods_type;
        @ApiModelProperty("0：没有任何条件，所有用户所有门店都可用；1：只针对新用户；2：只针对某几个城市；3：只针对某几个门店；4：生日；")
        private Byte limit_used_type;
        @ApiModelProperty("满减的门槛（金额），如果是值为null或0则表示没有门槛")
        private Integer threshold;
        @ApiModelProperty("优惠金额")
        private Integer amount;
        @ApiModelProperty("折扣，计算时记得除以100")
        private Byte discount;
        @ApiModelProperty("赠送的商品id，多选1，用英文逗号,分隔")
        private String give_goods_ids;
        @ApiModelProperty("可用门店")
        private String shop_ids;
        @ApiModelProperty("可用城市")
        private String city_ids;
        @ApiModelProperty("开始发放时间，值为null则表示现在立马开始")
        private LocalDateTime assign_start_time;
        @ApiModelProperty("结束发放时间，值为null表示一直发放，永远不结束")
        private LocalDateTime assign_end_time;
        @ApiModelProperty("时效类型：0：永远有效；1：绝对时效（领取后XXX-XXX时间段有效）； 2：相对时效（领取后N天有效）；")
        private Byte valid_type;
        private LocalDateTime valid_start_time;
        private LocalDateTime valid_end_time;
        private Integer valid_days;
        @ApiModelProperty("0：正常；1：删除；")
        private Byte is_deleted;
        private LocalDateTime create_time;
        private LocalDateTime update_time;
@TableField(exist = false)
private static final long serialVersionUID=1L;

        }
